<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Auth library
 *
 * @author	Anggy Trisnawan
 */
class Auth{
	var $CI = NULL;
	function __construct()
	{
		// get CI's object
		$this->CI =& get_instance();
	}
	// untuk validasi login
	function do_login($username,$password){
		if(($username == 'ympi') && ($password == '36e1a5072c78359066ed7715f5ff3da8')){
			$session_data = array(
				'user_id'	=> '36e1a5072c78359066ed7715f5ff3da8',
				'user_name'	=> 'Super Admin',
				'group_id'	=> 0,
				'group_name' => 'Super Admin'
			);
			$this->CI->session->set_userdata($session_data);
			echo 1;
		}else{
			$sql = "SELECT user_id, user_name, user_groups, group_name
			FROM s_users 
			JOIN s_usergroups ON(s_usergroups.group_id = s_users.user_groups)
			WHERE user_name='".$username."' AND user_passwd='".$password."'";
			$result = $this->CI->db->query($sql);
			if($result->num_rows() == 0) 
			{
				// username dan password tsb tidak ada 
				echo 0;
			}
			else	
			{
				// ada, maka ambil informasi dari database
				$userdata = $result->row();
				$session_data = array(
					'user_id'	=> $userdata->user_id,
					'user_name'	=> $userdata->user_name,
					'group_id' => $userdata->user_groups,
					'group_name' => $userdata->group_name
				);
				// buat session
				$this->CI->session->set_userdata($session_data);
				echo 1;
			}
		}
		
	}
	// untuk mengecek apakah user sudah login/belum
	function is_logged_in()
	{
		if($this->CI->session->userdata('user_id') == '')
		{
			return false;
		}
		return true;
	}
	// untuk validasi di setiap halaman yang mengharuskan authentikasi
	function restrict()
	{
		if($this->is_logged_in() == false)
		{
			redirect('c=c_login');
		}
	}
	// untuk mengecek menu
	function cek_menu($idmenu)
	{
		$this->CI->load->model('usermodel');
		$status_user = $this->CI->session->userdata('level');
		$allowed_level = $this->CI->usermodel->get_array_menu($idmenu);
		if(in_array($status_user,$allowed_level) == false)
		{
			die("Maaf, Anda tidak berhak untuk mengakses halaman ini.");
		}
	}
	// untuk logout
	function do_logout()
	{
		$this->CI->session->sess_destroy();	
	}
}